ghc --make -XMultiParamTypeClasses -XFlexibleInstances -O2 main.hs